package com.yupi.springbootinit.statemachine.dto;

import com.yupi.springbootinit.common.PageRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 状态机配置查询请求
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class StateMachineConfigQueryRequest extends PageRequest {
    
    /**
     * 配置ID
     */
    private Long id;
    
    /**
     * 配置名称
     */
    private String configName;
    
    /**
     * 实体类型
     */
    private String entityType;
    
    /**
     * 实体类型列表
     */
    private List<String> entityTypes;
    
    /**
     * 配置类型
     */
    private String configType;
    
    /**
     * 配置类型列表
     */
    private List<String> configTypes;
    
    /**
     * 配置键
     */
    private String configKey;
    
    /**
     * 是否启用
     */
    private Boolean enabled;
    
    /**
     * 创建人ID
     */
    private Long creatorId;
    
    /**
     * 创建人姓名
     */
    private String creatorName;
    
    /**
     * 关键词搜索（配置名称、描述）
     */
    private String keyword;
    
    /**
     * 开始时间
     */
    private String startTime;
    
    /**
     * 结束时间
     */
    private String endTime;
    
    /**
     * 最小优先级
     */
    private Integer minPriority;
    
    /**
     * 最大优先级
     */
    private Integer maxPriority;
    
    /**
     * 版本号
     */
    private Integer version;
    
    /**
     * 是否包含已删除
     */
    private Boolean includeDeleted;
}